home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.io.Serializable;
-
- public class MediaTracker implements Serializable {
- Component target;
- MediaEntry head;
- public static final int LOADING = 1;
- public static final int ABORTED = 2;
- public static final int ERRORED = 4;
- public static final int COMPLETE = 8;
- static final int DONE = 14;
-
- public MediaTracker(Component var1) {
- this.target = var1;
- }
-
- public void addImage(Image var1, int var2) {
- this.addImage(var1, var2, -1, -1);
- }
-
- public synchronized void addImage(Image var1, int var2, int var3, int var4) {
- this.head = MediaEntry.insert(this.head, new ImageMediaEntry(this, var1, var2, var3, var4));
- }
-
- public boolean checkAll() {
- return this.checkAll(false);
- }
-
- public synchronized boolean checkAll(boolean var1) {
- MediaEntry var2 = this.head;
-
- boolean var3;
- for(var3 = true; var2 != null; var2 = var2.next) {
- if ((var2.getStatus(var1) & 14) == 0) {
- var3 = false;
- }
- }
-
- return var3;
- }
-
- public synchronized boolean isErrorAny() {
- for(MediaEntry var1 = this.head; var1 != null; var1 = var1.next) {
- if ((var1.getStatus(false) & 4) != 0) {
- return true;
- }
- }
-
- return false;
- }
-
- public synchronized Object[] getErrorsAny() {
- MediaEntry var1 = this.head;
-
- int var2;
- for(var2 = 0; var1 != null; var1 = var1.next) {
- if ((var1.getStatus(false) & 4) != 0) {
- ++var2;
- }
- }
-
- if (var2 == 0) {
- return null;
- } else {
- Object[] var3 = new Object[var2];
- var1 = this.head;
-
- for(int var5 = 0; var1 != null; var1 = var1.next) {
- if ((var1.getStatus(false) & 4) != 0) {
- var3[var5++] = var1.getMedia();
- }
- }
-
- return var3;
- }
- }
-
- public void waitForAll() throws InterruptedException {
- this.waitForAll(0L);
- }
-
- public synchronized boolean waitForAll(long var1) throws InterruptedException {
- long var3 = System.currentTimeMillis() + var1;
- boolean var5 = true;
-
- while(true) {
- int var6 = this.statusAll(var5);
- if ((var6 & 1) == 0) {
- if (var6 != 8) {
- return false;
- }
-
- return true;
- }
-
- var5 = false;
- long var7;
- if (var1 == 0L) {
- var7 = 0L;
- } else {
- var7 = var3 - System.currentTimeMillis();
- if (var7 <= 0L) {
- return false;
- }
- }
-
- this.wait(var7);
- }
- }
-
- public int statusAll(boolean var1) {
- MediaEntry var2 = this.head;
-
- int var3;
- for(var3 = 0; var2 != null; var2 = var2.next) {
- var3 |= var2.getStatus(var1);
- }
-
- return var3;
- }
-
- public boolean checkID(int var1) {
- return this.checkID(var1, false);
- }
-
- public synchronized boolean checkID(int var1, boolean var2) {
- MediaEntry var3 = this.head;
-
- boolean var4;
- for(var4 = true; var3 != null; var3 = var3.next) {
- if (var3.getID() == var1 && (var3.getStatus(var2) & 14) == 0) {
- var4 = false;
- }
- }
-
- return var4;
- }
-
- public synchronized boolean isErrorID(int var1) {
- for(MediaEntry var2 = this.head; var2 != null; var2 = var2.next) {
- if (var2.getID() == var1 && (var2.getStatus(false) & 4) != 0) {
- return true;
- }
- }
-
- return false;
- }
-
- public synchronized Object[] getErrorsID(int var1) {
- MediaEntry var2 = this.head;
-
- int var3;
- for(var3 = 0; var2 != null; var2 = var2.next) {
- if (var2.getID() == var1 && (var2.getStatus(false) & 4) != 0) {
- ++var3;
- }
- }
-
- if (var3 == 0) {
- return null;
- } else {
- Object[] var4 = new Object[var3];
- var2 = this.head;
-
- for(int var6 = 0; var2 != null; var2 = var2.next) {
- if (var2.getID() == var1 && (var2.getStatus(false) & 4) != 0) {
- var4[var6++] = var2.getMedia();
- }
- }
-
- return var4;
- }
- }
-
- public void waitForID(int var1) throws InterruptedException {
- this.waitForID(var1, 0L);
- }
-
- public synchronized boolean waitForID(int var1, long var2) throws InterruptedException {
- long var4 = System.currentTimeMillis() + var2;
- boolean var6 = true;
-
- while(true) {
- int var7 = this.statusID(var1, var6);
- if ((var7 & 1) == 0) {
- if (var7 != 8) {
- return false;
- }
-
- return true;
- }
-
- var6 = false;
- long var8;
- if (var2 == 0L) {
- var8 = 0L;
- } else {
- var8 = var4 - System.currentTimeMillis();
- if (var8 <= 0L) {
- return false;
- }
- }
-
- this.wait(var8);
- }
- }
-
- public int statusID(int var1, boolean var2) {
- MediaEntry var3 = this.head;
-
- int var4;
- for(var4 = 0; var3 != null; var3 = var3.next) {
- if (var3.getID() == var1) {
- var4 |= var3.getStatus(var2);
- }
- }
-
- return var4;
- }
-
- synchronized void setDone() {
- this.notifyAll();
- }
- }
-